/* SPDX-License-Identifier: GPL-2.0 */
#ifndef _LINUX_POISON_DEPENDS_H
#define _LINUX_POISON_DEPENDS_H

#define PAGE_POISON 0xaa

#define KEY_DESTROY		0xbd

#define MUTEX_DEBUG_FREE	0x22
#define MUTEX_DEBUG_INIT	0x11

#define ATM_POISON		0xdeadbeef
#define ATM_POISON_FREE		0x12

#define	POOL_POISON_ALLOCATED	0xa9
#define	POOL_POISON_FREED	0xa7

#define JBD2_POISON_FREE	0x5c
#define JBD_POISON_FREE		0x5b

#define POISON_FREE_INITMEM	0xcc

#define	POISON_END	0xa5
#define POISON_FREE	0x6b
#define	POISON_INUSE	0x5a

#define SLUB_RED_INACTIVE	0xbb
#define SLUB_RED_ACTIVE		0xcc

#define	RED_ACTIVE	0xD84156C5635688C0ULL
#define	RED_INACTIVE	0x09F911029D74E35BULL

#ifdef CONFIG_ILLEGAL_POINTER_VALUE
# define POISON_POINTER_DELTA _AC(CONFIG_ILLEGAL_POINTER_VALUE, UL)
#else
# define POISON_POINTER_DELTA 0
#endif

#define MUTEX_POISON_WW_CTX	((void *) 0x500 + POISON_POINTER_DELTA)

#define PP_SIGNATURE		(0x40 + POISON_POINTER_DELTA)

#define BPF_PTR_POISON ((void *)(0xeB9FUL + POISON_POINTER_DELTA))

#define VFS_PTR_POISON ((void *)(0xF5 + POISON_POINTER_DELTA))

#define LIST_POISON1  ((void *) 0x100 + POISON_POINTER_DELTA)
#define LIST_POISON2  ((void *) 0x122 + POISON_POINTER_DELTA)

#define TIMER_ENTRY_STATIC	((void *) 0x300 + POISON_POINTER_DELTA)

#define TAIL_MAPPING	((void *) 0x400 + POISON_POINTER_DELTA)

#endif
